Desktop virtualization is software technology that separates the desktop environment and associated application software from a client computing device that is used to access it. Virtual desktop infrastructure (VDI) implements desktop virtualization using virtual machines (VMs). In VDI, the desktop environment and associated application software are executed in a VM which runs on a remote host computer. The virtual desktop is generated at the host computer and display frames of the virtual desktop are transmitted from the host computer to the client computing device so that they can be displayed at the client computing device. User inputs are made at the client computing device and such inputs are transmitted to the host computer for processing by the host computer.
Remote display protocols for efficiently delivering the frames of the virtual desktop from the host computer to client computing devices have been developed. PC over IP (PCoIP) is one such remote display protocol. According to PCoIP, the frames are encoded at the host computer, typically using a central processing unit (CPU) of the host computer, to capture only regions of the virtual desktop that have changed, and the encoded frame data is transmitted to the client computing device as a pixel stream.
VMware Blast® is another remote display protocol. The VMware Blast encodes the frames according to the H.264 video encoding standard and the encoded data is transmitted to the client computing device as a standard video stream instead of a pixel stream. The VMware Blast protocol can be implemented on either the CPU or a graphics processing unit (GPU) of the host computer.